
#pragma once

#include "base/core/singleton.h"
#include "Common/TableDefine.h"


class ReduceReduceCfg : public ManualSingleton <ReduceReduceCfg>
{
	friend ManualSingleton <ReduceReduceCfg>;
public:
	ReduceReduceCfg();
	~ReduceReduceCfg();
	bool Init(const char *szCfgFile, const char *szSplitChar);
	bool UnInit();
	void Clear();
	const ReduceReduceCfgInfo *GetReduceReduceCfgInfo(int32_t LvSub);
	const ReduceReduceCfgMap *GetReduceReduceCfgMap() { return &m_ReduceReduceCfgMap; }
private:
	ReduceReduceCfgMap m_ReduceReduceCfgMap;
};

#define  g_MakeReduceReduceCfgTable() (ReduceReduceCfg::Instance())
#define  g_GetReduceReduceCfgTable() (ReduceReduceCfg::GetInstance())
#define  g_DelReduceReduceCfgTable() (ReduceReduceCfg::Destroy())